下载地址
- IntelliJ IDEA下载地址:https://www.jetbrains.com/idea/download
- TeamCity下载地址:https://www.jetbrains.com/teamcity/download
- Upsource下载地址:https://www.jetbrains.com/upsource/download
- TeamCity Plugin:https://plugins.jetbrains.com/plugin/1820-teamcity-integration
- Upsource Pligin:https://plugins.jetbrains.com/plugin/7431-upsource-integration
- 阿里巴巴代码质量检测插件:https://plugins.jetbrains.com/plugin/10046-alibaba-java-coding-guidelines
后面三个是idea插件,如果电脑能联网,可以在插件中搜索到直接安装,如果是公司内网,可以下载离线安装包,然后手动安装idea插件。
安装IDEA插件方法:Preferences > Plugins > Install plugin from disk...
TeamCity的安装
以下都是以我博客服务器(ubuntu 16.04.4)为例
解压到指定目录
1 | tar -zxvf soft/TeamCity-2017.2.3.tar.gz -C install/ |
启动
1 | sh install/TeamCity/bin/runAll.sh start |
停止
1 | sh install/TeamCity/bin/runAll.sh stop |
访问
TeamCity内置了一个tomcat容器,默认端口为8111,可以在/home/hxzq/install/TeamCity/conf/server.xml
修改端口。
1 | <Connector port="8111" ... |
默认即可,点击Proceed
, 接下来是选择数据库,如下图:
这里我选择的是mysql,选择mysql后,需要把mysql的驱动包(可以从本地maven仓库中找到)拷贝到/home/hxzq/.BuildServer/lib/jdbc
目录下,然后点击Refresh JDBC Drivers
, 如果jar包没问题,会出现下面的界面:
1 | cp mysql-connector-java-5.1.34.jar /home/hxzq/.BuildServer/lib/jdbc/ |
最后填写jdbc连接的相关信息后点击Proceed
,需要先自己创建一个数据库teamcity
下一步就是接受条款,不多说。
1 | DROP DATABASE IF EXISTS teamcity; |
然后就是让我们创建一个管理员, 如下图:
创建完成后会直接登录,并让我们补全个人信息,如下图:
到此,TeamCity就算安装完毕了,接下来就是配置一个项目,用于持续集成。
创建项目
此处我使用的是github上的项目。
如果是maven项目,它会自动识别出,并推荐你使用它的构建步骤,这里选不选都行,因为回头可以修改,基本上必须修改。
勾选后,跳转到下面的构建步骤界面,这里你可以自由配置自己的构建步骤
比如我配置的三个构建步骤:
- 第一步:更新代码并打包
- 第二步:把war包拷贝到服务器
- 第三步:执行几个shell命令,停止服务+替换war包+启动服务
配置第一步
点击Edit
如果配置的settings.xml不管用,可以在下面上传settings.xml文件
配置第二步
点击Add build setup
如果不知道,第一步打出的war包在什么路径,可以先随意写几个字符,后面尝试运行时,会打印第一步的日志,从日志中可以看到war包路径。
接下来就可以尝试启动了,点击右上角的run
, 注意看日志,顺便看看第一步打的war包的路径。
首次构建,时间会比较久,需要耐心等待
配置第三步
点击Add build setup
我再第一步打的war包路径为
/home/hxzq/install/TeamCity/buildAgent/work/23d0c25675dc1f18/blog-web/target/blog-web-1.0-SNAPSHOT.war
,可供参考。
其中ssh命令如下:
1 | sh /home/hxzq/install/apache-tomcat-8.5.6-blog/bin/shutdown.sh |
配置完成后界面如下:
到此,算是搞定了,但是它还有另外一种操作,那就是集成在IDEA中。
集成到IDEA
在idea中搜索插件teamcity
,安装后重启。
重启后,会发现下面3点变化,右下角的那个图标表示暂未登录到TeamView。
点击右下角的图标登录TeamView:
登录成功后,即可在IDEA中一键发布项目了。
这样的话,一个IDEA就可以开发代码,运行项目,控制版本,操作数据库,一键发布,强大的不要不要的。
但是!如果代码没有改变,是不能remote run的,我也没有找到怎么在没改变代码的情况下运行。